package pe.gob.minam.sismon.core.business;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import pe.gob.minam.sismon.core.base.business.BaseBusiness;
import pe.gob.minam.sismon.core.dao.SegOpcionDao;
import pe.gob.minam.sismon.core.domain.SegOpcion;
import pe.gob.minam.sismon.core.util.ExceptionCore;

@Component("segOpcionBusiness")
public class SegOpcionBusiness implements BaseBusiness<SegOpcion>{

	@Autowired
	private SegOpcionDao segOpcionDao;
	@Override
	public SegOpcion insertar(SegOpcion e) throws ExceptionCore {
		return segOpcionDao.insertar(e);
	}

	@Override
	public SegOpcion actualizar(SegOpcion e) throws ExceptionCore {
		return segOpcionDao.actualizar(e);
	}

	@Override
	public Integer eliminar(Object id) throws ExceptionCore {
		return segOpcionDao.eliminar(id);
	}

	@Override
	public SegOpcion obtener(Object id) throws ExceptionCore {
		return segOpcionDao.obtener(id);
	}

	@Override
	public List<SegOpcion> listar() throws ExceptionCore {
		return segOpcionDao.listar();
	}
	
	public List<SegOpcion> listarOpciones(Integer idSistema, String nombreCorto, String nombreLargo, String estado)
			throws ExceptionCore {
		return segOpcionDao.listarOpciones(idSistema, nombreCorto, nombreLargo, estado);
	}
	
	public List<SegOpcion> listarOpcionesPadre(Integer idSistema) throws ExceptionCore{
		return segOpcionDao.listarOpcionesPadre(idSistema);
	}
	
	public List<SegOpcion> listarOpcionesHijo(Integer idSistema,
			Integer idOpcion) throws ExceptionCore{
		return segOpcionDao.listarOpcionesHijo(idSistema, idOpcion);
	}

}
